延續前一篇講到的加密,由於「非對稱加密法」的函數較為複雜,對電腦運算而言是一大負擔,所以在實際應用上,多會搭配「對稱加密法」與「雜湊函數」一併使用。
由於金鑰的長度攸關加密法的安全性,所以常通常很長,例如64位元或128位元。對於使用者而言,不可能記憶那麼長的資料,因此在實際應用上,使用者通常只要記住一個很短的密碼,再透過雜湊函數,即可產生64位元或128位元的雜湊值,再以它作為私密金鑰。
利用雜湊函數來產生雜湊值時具有以下特性:
–雜湊函數的運算不會太複雜,即電腦在執行時不會耗費太多CPU資源。
–雜湊函數具有單向特性,因此實務上無法利用雜湊值來求出輸入的原始資料。
–輸入雜湊函數的資料沒有長度的限制,但所建立的雜湊值長度固定。
–即使輸入的資料僅有一個位元不同,產生的雜湊值亦會有極大的差異。